package com.ruoyi.deal.service;

import com.ruoyi.common.core.mybatisplus.core.IServicePlus;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.deal.bo.HyDealCollectQueryBo;
import com.ruoyi.deal.domain.HyDealCollect;
import com.ruoyi.deal.domain.HyDealGoods;
import com.ruoyi.deal.vo.HyDealCollectVo;

import java.util.List;

/**
 * 收藏管理Service接口
 *
 * @author lixin
 * @date 2021-07-04
 */
public interface IHyDealCollectService extends IServicePlus<HyDealCollect> {

	/**
	 * 查询列表
	 * @param bo 查询参数
	 * @return
	 */
    TableDataInfo<HyDealCollectVo> queryPageList(HyDealCollectQueryBo bo);

	/**
	 * 根据用户ID查询商品收藏列表
	 * @param userId
	 * @return
	 */
	List<HyDealGoods> queryGoodsListByUserId(Long userId);

	/**
	 * 删除收藏
	 * @param userId
	 * @param goodsId
	 */
	void removeCollectByUserIdAndGoodsId(Long userId, Integer goodsId);

	/**
	 * 商品收藏
	 * @param userId
	 * @param goodsId
	 */
	void saveCollect(Long userId, Integer goodsId);

	/**
	 * 判断是否被收藏
	 * @param userId
	 * @param goodsId
	 * @return
	 */
	Boolean isCollect(Long userId, Integer goodsId);

	/**
	 * 根据商品删除对应收藏记录
	 * @param goodsId
	 */
    void deleteByGoodsId(Integer goodsId);
}
